<?php 
$this->headLink(array('href' => '/cms/styles/style.css', 'rel' => "stylesheet", 'type' => "text/css"));
$this->headLink(array('href' => '/cms/styles/data-table.css', 'rel' => "stylesheet", 'type' => "text/css"));
$this->headStyle(<<<EOD
.groupName {
	font-size: 16px;
}
.groupFilterBox {
	float: right;
	padding-top: 4px;
}
.splashHint {
	max-width: 400px;
}
EOD
);

$this->headScript()
	->appendFile('/cms/scripts/dojo/dojo.js','',array('djConfig'=> 'parseOnLoad:true, isDebug:false'))
	->setAllowArbitraryAttributes(true);
$this->headScript()->appendFile('/cms/scripts/TableData.js');
$this->headScript()->appendFile('/cms/scripts/tabWidget.js');
$this->headScript()->appendFile('/cms/scripts/Popup.js');


$this->headScript()->appendScript(<<<EOD
dojo.addOnLoad(function () {

	var adminListTable = new tableData('groupList');

	adminListTable.registerWidget('group_row_num',
		function (params) {
			var nn_el = dojo.create('div',{className:'center',innerHTML: params['nn']+'.'});
			return nn_el;
		});

	adminListTable.registerWidget('group_name',
		function (params) {
			var rEl = dojo.create('div');
			new PopupArea(
				dojo.create('a',{className:'local groupName',innerHTML:params['name']},rEl),
				dojo.create('div',{className: 'splashHint',innerHTML:params['summary']},rEl),
				PopupAreaAdaptors.mouseOverSplashUnderTrigger);
			return rEl;
		});
	
	adminListTable.registerWidget('group_admins',
			function (params) {
				var rEl = dojo.create('div');
				var iconIm = dojo.create('img',{src:'/cms/images/administrator.png',className:'isActive'},rEl);
				dojo.connect(iconIm,'onclick',
					function () {
						//Загружаем HTML основного содежания
						dojo.xhrGet({
								url:'/cms/admingroup/admins/type/html/id/'+params['id'],
								load: function (response, ioArgs) {
										// Прячем контейнер с основным содержанием
										dojo.query('#groupListBox').addClass('isHidden');
										
										// Создаем контейнер для загружаемого содержания и вставляем HTML
										dojo.create('div',{id:'editAdminsListBox',innerHTML: response},dojo.body());
						
										// Загружаем все необходимые скрипты
										dojo.xhrGet({
												url: '/cms/admingroup/admins/type/javascript/id/'+params['id'],
												handleAs: "javascript",
												sync: true
											});
									},
								error: function (response, ioArgs){
										alert("An error occurred, with response: " + response);
										return response;
									},
								handleAs:"text",
								sunc: true
							});
					});
				var pupupDiv = dojo.create('div',{className: 'splashHint'},rEl);
				var groupList = dojo.create('ul',null,pupupDiv);
				for (var i in params['list']) {
					dojo.create('li',{innerHTML:params['list'][i]},groupList);
				}
				new PopupArea(iconIm,pupupDiv,PopupAreaAdaptors.SplashUnderTrigger);
				return rEl;
			});

	adminListTable.registerWidget('group_modul',
			function (params) {
				var rEl = dojo.create('img',{src:'/cms/images/d_modules.png',className:'isActive'});
				dojo.connect(rEl,'onclick',
					function () {
						//Загружаем HTML основного содежания
						dojo.xhrGet({
								url:'/cms/admingroup/modules/type/html/id/'+params['id'],
								load: function (response, ioArgs) {
										// Прячем контейнер с основным содержанием
										dojo.query('#groupListBox').addClass('isHidden');
										
										// Создаем контейнер для загружаемого содержания и вставляем HTML
										dojo.create('div',{id:'editGroupModulesBox',innerHTML: response},dojo.body());
						
										// Загружаем все необходимые скрипты
										dojo.xhrGet({
												url: '/cms/admingroup/modules/type/javascript/id/'+params['id'],
												handleAs: "javascript",
												sync: true
											});
									},
								error: function (response, ioArgs){
										alert("An error occurred, with response: " + response);
										return response;
									},
								handleAs:"text",
								sunc: true
							});
					});
				return rEl;
			});
			
	adminListTable.registerWidget('group_edit',
			function (params) {
				var rEl = dojo.create('img',{src:'/cms/images/document_pencil.png',className:'isActive'});
				dojo.query(rEl).onclick(
					function () {
						//Загружаем HTML основного содежания
						dojo.xhrGet({
								url:'/cms/admingroup/edit/type/html/id/'+params['id'],
								load: function (response, ioArgs) {
										// Прячем контейнер с основным содержанием
										dojo.query('#groupListBox').addClass('isHidden');
										
										// Создаем контейнер для загружаемого содержания и вставляем HTML
										dojo.create('div',{id:'addGroupBox',innerHTML: response},dojo.body());
						
										// Загружаем все необходимые скрипты
										dojo.xhrGet({
												url: '/cms/admingroup/edit/type/javascript/id/'+params['id'],
												handleAs: "javascript",
												sync: true
											});
									},
								error: function (response, ioArgs){
										alert("An error occurred, with response: " + response);
										return response;
									},
								handleAs:"text",
								sunc: true
							});
					});
				return rEl;
			});
	
	adminListTable.registerWidget('group_delete',
		function (params) {
			var rEl = dojo.create('img',{src:'/cms/images/cross.png',className:'isActive'});
			dojo.query(rEl).onclick(
				function () {
					if (confirm('Подтвердите удаление группы. Удалить?')) {
						dojo.xhrGet({
								url: '/cms/admingroup/delete/id/'+params['id'],
								load: function (response, ioArgs) {
										if (response['s']=="1") {
											loadData(dojo.byId('groupFilter').value);
										}
									},
									error: function(response, ioArgs){
											alert("An error occurred, with response: " + response);
											return response;
										},
									handleAs: "json",
									sync: false
							});
					}
				});
			return rEl;
		});



	var loadData = function (filter) {
			dojo.xhrGet({
				url: '/cms/admingroup/data/filter/'+filter,
				load: function (response, ioArgs) {
						adminListTable.draw(response);
					},
				error: function(response, ioArgs){
						alert("An error occurred, with response: " + response);
						return response;
					},
				handleAs: "json",
				sync: false
			});
		}

	loadData('');

	dojo.subscribe('onsaveok',
			function (data) {
				loadData(dojo.byId('groupFilter').value);
			}
		);
	
	
	var fireFilterReload;
	dojo.query('#groupFilter').connect("onkeyup",
		function () {
			var inpValue = this.value;
			window.clearTimeout(fireFilterReload);
			fireFilterReload = window.setTimeout(function () {
					loadData(inpValue);
				},600);
		});

		
	dojo.query('#addGroupBtn').onclick(
			function () {
				//Загружаем HTML основного содежания
				dojo.xhrGet({
						url:'/cms/admingroup/add/type/html',
						load: function (response, ioArgs) {
								// Прячем контейнер с основным содержанием
								dojo.query('#groupListBox').addClass('isHidden');
								
								// Создаем контейнер для загружаемого содержания и вставляем HTML
								var addAdminDiv = dojo.create('div',{id:'addGroupBox',innerHTML: response},dojo.body());
				
								// Загружаем все необходимые скрипты
								dojo.xhrGet({
										url: '/cms/admingroup/add/type/javascript',
										handleAs: "javascript",
										sync: true
									});
							},
						error: function (response, ioArgs){
								alert("An error occurred, with response: " + response);
								return response;
							},
						handleAs:"text",
						sunc: true
					});
			});
			
	dojo.query('#groupListCloseBtn').onclick(
		function () {
			window.parent.setTimeout('Shadowbox.close()',10);
		});
	
	
	new mfTabWidget('groupTabsList');
});

EOD
);


?>
<div id="groupListBox">
  <ul id="groupTabsList">
    <li><a href="/cms/administrator">Пользователи</a></li>
    <li class="active"><a>Группы</a></li>
  </ul>
  <div class="modalContent">
    <div class="groupFilterBox stnd_font">
      Фильтр:
      <input type="text" name="groupFilter" id="groupFilter" class="modalInput" />
    </div>
    <p>
      <button class="okButton" id="addGroupBtn">
      <img src="/cms/images/add.gif" width="16" height="16" />
      Добавить группу</button>
    </p>
    <table width="100%" cellspacing="0" class="table-data">
      <thead>
        <tr>
          <th>№</th>
          <th>Имя</th>
          <th>&nbsp;</th>
          <th>&nbsp;</th>
          <th>&nbsp;</th>
          <th>&nbsp;</th>
        </tr>
      </thead>
      <tbody id="groupList"></tbody>
    </table>
  </div>
  <div class="modalControls">
    <div class="controllGrad"></div>
    <div class="modalControlsBox">
      <input type="submit" value="Закрыть" class="okButton" id="groupListCloseBtn" />
    </div>
  </div>
</div>